package cn.itcast.nems.studentrecord.service;

import cn.itcast.nems.studentrecord.dto.change.StudentRecordChangeDTO;
import cn.itcast.nems.studentrecord.dto.change.StudentRecordChangeResultDTO;
import cn.itcast.nems.studentrecord.dto.change.StudentRecordJournalDTO;
import cn.itcast.nems.studentrecord.service.studentrecord.StudentRecordChangeService;

/**
 * 重读相关逻辑
 *
 * @author 李勇
 */
public interface StudentRecordRepeatService extends StudentRecordChangeService {

    /**
     * 处理重读申请
     *
     * @param studentRecordChange 参数对象
     * @return 新生成的学籍ID，如果重读班学籍已经存在则返回null。
     */
    StudentRecordChangeResultDTO repeat(StudentRecordChangeDTO studentRecordChange);


    /**
     * 重读完成（如果需要支付,则在重读订单支付成功时调用）
     *
     * @param studentRecordJournal 参数对象
     */
    void repeatComplete(StudentRecordJournalDTO studentRecordJournal);
}
